package com.atguigu.iterator;

import java.util.Iterator;
import java.util.List;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 信息学院迭代器
 * @create: 2022-03-06 20:37
 **/
public class InfoCollegeIterator implements Iterator {

    //这里我们需要Department 是以怎样的方式存放(信息工程学院以List方式存放院系)
    List<Department> departmentList;
    //遍历的位置(索引)
    int index = -1;

    /**
     * 把具体要遍历的内存传进来
     * @param departmentList 院系的集合
     */
    public InfoCollegeIterator(List<Department> departmentList) {
        this.departmentList = departmentList;
    }

    /**
     * 判断是否还有下一个元素
     * @return 是有还有元素
     */
    @Override
    public boolean hasNext() {
        if (index >= departmentList.size() -1){
            return false;
        }else {
            index += 1;
            return true;
        }
    }

    @Override
    public Object next() {
        return departmentList.get(index);
    }

    /**
     * 空实现
     */
    @Override
    public void remove() {

    }
}
